Cloud computing has become a popular approach for obtaining access to (sometimes large-scale) computing resources. Cloud computing allows users to build virtualized data centers which include compute, networking, application, and storage resources without having to build or maintain a physical computing infrastructure. The virtualized data center may provide a user with a segmented virtual network located in the cloud, typically alongside virtualized data centers of other users. Such a virtualized data center may be rapidly scaled up (or down) according to the computing needs of a given user without the need to maintain excess computing capacity between peak demand periods. For example, an online retailer can scale a virtualized data center to meet increased demand during the holiday shopping season without having to maintain the underlying physical computing infrastructure used to provide the retailer's online presence.
Often times, a cloud-computing environment is created using multiple data centers, with each data center providing various computing resources to the cloud. Such data centers are frequently located in different geographical locations. Furthermore, the resources that each data center provides to the cloud may differ. For example, a first data center may provide higher performance computing resources than a second data center, or may provide fast network access to particular computing resources that are not provided at all by the second data center. Additionally, the workloads of the computing resources provided by each of the data centers may differ as well. For instance, while the computing resources of the first data center may be operating at 90% capacity, the computing resources of the second data center may only be operating at 20% capacity.
When deploying virtual workloads within a data center, conventional systems may include logic to select a physical server that is suitable for the deployment of the virtual workload. For example, conventional systems may consider a physical server's computing resources and computing resource usage. In many instances, the supply of physical servers in a data center may exceed the demand for deploying virtual workloads. However, idle physical servers in the data center still consume substantial amounts of power. While these idle physical servers can be placed in a sleep state, doing so only reduces the amount of power consumed by the physical servers. Moreover, although the physical servers can be powered off when they are idle, doing so increases the amount of time that is required to deploy a virtual workload to the physical server when the demand for deploying virtual workloads once again increases.
To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation.